Bienvenidos al examen final de GBI6 - Bioinformática.
Los contenidos de esta evaluación corresponden a los temas de R revisados en el curso:
Tipos de datos
Instalación y uso de librerías.
Estructuras de control
Funciones
Manipulación de datos
Estadística básica
Visualización de datos
Esta permitido consultar todo material disponible: diapositivas, google…Sin embargo NO esta permitido consultar a sus colegas.
Ustedes estan utilizando el R Markdown. Las instruciones son:
Creen una carpeta en su computador con el nombre “GBI6_ExamenFinal” donde guarden este cuaderno .Rmd.
Cree un subdirectorio de nombre “data” donde guarde la data que van a utilizar.
Cree un subdirectorio de nombre “results” donde guarde la tablas y figuras generadas del análisis.
Definan a esa carpeta como su directorio de trabajo.
Arriba, solamente donde dice “author”, deben llenar sus nombres.
Los codigos deben ser escritos dentro de las cajas que inician y terminan con ``` o dentro de las cajas indicadas abajo de las preguntas.
Al final del examen deben utilizar el comando “Knit” para generar un archivo .html
Es recomendable crear una copia de este script guía.
Genere controles de la versión para cada una de las preguntas con la leyenda “Nombre Apellido, resuelve el ejercicio XX”.
Copie y peque la dirección de su repositorio de GitHub en la actividad “ExamenFinal”.
Asegúrese de responder explícitamente cada una de las preguntas.
Para comprender la data de esta evaluación se requiere conocer el
significado de algunos acrónimos de los tipos de cancer como indica el
Broad Institute Cancer
Names. Asimismo revise la información de ayuda para
expresionsTCGA. La data contiene las columnas:
bcr_patient_barcode: es el identificador del paciente.
dataset: es el identificador del tipo de cancer del paciente.
resto de columnas: nivees de expresión de los diferentes mRNA de los genes que están como nombre de columna (para este análisis se han seleccionado solamente 7 de ellos).
#getwd -> Irmprime el directorio actual
#setwd -> Define el directorio
def_dir <- setwd(getwd())
print(def_dir)## [1] "/home/camy/Documentos/Bioinformatica/Examen-Final-Freire-Camila"
#Lectura del achivo donde esta la base de datos:
df <- read.csv("data/mRNA_expr.csv")
#Se imprime las 10 primeras filas de la base de datos
head(df, n=10)## bcr_patient_barcode dataset GATA3 PTEN XBP1 ESR1
## 1 BRCA1 BRCA 2.870500 1.3613571 2.983333 3.0842500
## 2 BRCA2 BRCA 2.166250 0.4283571 2.550833 2.3860000
## 3 BRCA3 BRCA 1.323500 1.3056429 3.020417 0.7912500
## 4 BRCA4 BRCA 1.841625 0.8096429 3.131333 2.4954167
## 5 BRCA5 BRCA -6.025250 0.2508571 -1.451750 -4.8606667
## 6 BRCA6 BRCA 1.804500 1.3107857 4.041083 2.7970000
## 7 BRCA7 BRCA -4.879250 -0.2369286 -0.724750 -4.4860833
## 8 BRCA8 BRCA -3.143250 -1.2432143 -1.193083 -1.6274167
## 9 BRCA9 BRCA 2.034000 1.2074286 2.278833 4.1155833
## 10 BRCA10 BRCA -0.293125 0.2883571 -1.605083 0.4731667
## MUC1 FN1 GAPDH
## 1 1.652125 1.7333750 -1.62916667
## 2 3.080250 0.2176250 -0.95116667
## 3 2.985250 2.5080833 -1.29883333
## 4 -1.918500 -0.2197083 -0.82066667
## 5 -1.171500 -0.4773750 1.29458333
## 6 3.529750 1.2454583 -0.05216667
## 7 -1.455750 -1.9699583 -0.77700000
## 8 -0.986750 -0.4585417 1.08450000
## 9 0.668000 0.7657083 -2.01008333
## 10 0.011500 -0.2601250 -0.24291667
long_df para
transformar la data df de la forma wide a long.# Escriba aquí la función long_df
## Se emplea la pivot_longer, del paquete tidyr, por lo que primero se carga el
# paquete
library(tidyr)
# data = el data frame con el que se va a trabajar, en este caso df
# se selecciona las columnas a trabajar, en este caso desde la 3 a 9
# names_to = El nuevo nombre de las columnas
# values_to = El nuevo nombre de las columnas para los valores
long_df <- function(dataframe){
funcion_long <- pivot_longer(df, 3:9, names_to = "gen",
values_to = "expresion_level")
return(funcion_long)}df_long utilizandola
función long_df.La tabla resultante tendrá tres columnas:
dataset, gen, expresion_level.
# Genere la data df_long
df_long <- long_df(df)[,2:4] # long_df(df)[,2:4], tomara los valores de:
# dataset, gen, expresion_level
# Se imprime las primeras 10 filas del nuevo data frame - 3 columnas
head(df_long, n=10)## # A tibble: 10 × 3
## dataset gen expresion_level
## <fct> <chr> <dbl>
## 1 BRCA GATA3 2.87
## 2 BRCA PTEN 1.36
## 3 BRCA XBP1 2.98
## 4 BRCA ESR1 3.08
## 5 BRCA MUC1 1.65
## 6 BRCA FN1 1.73
## 7 BRCA GAPDH -1.63
## 8 BRCA GATA3 2.17
## 9 BRCA PTEN 0.428
## 10 BRCA XBP1 2.55
df_long, genere un
Descriptive table (librería sjPlot) y
guárdelo en el subdirectorio “result” con el nombre
mRNA_expr_summary.doc (previamente debe seleccionar las
celdas adecuadas con funciones de la librería dplyr en
conjunto con el operador %>%).# Escriba el código para crear el Descriptive table
#Librerias ocupadas para crear el Descriptive table
library(dplyr)##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(sjPlot)## Learn more about sjPlot with 'browseVignettes("sjPlot")'.
library(sjmisc)##
## Attaching package: 'sjmisc'
## The following object is masked from 'package:tidyr':
##
## replace_na
library(sjlabelled)##
## Attaching package: 'sjlabelled'
## The following object is masked from 'package:dplyr':
##
## as_label
# Se selecciona las celdas con las que se va a trabajar, %>% es similar a +
df_descriptive <- df_long %>% group_by(dataset, gen)
# A continuacion, para la descriptive table se emplea la función descr -
# que permite hacer una tabla descriptiva sencilla
descr(
df_descriptive,
max.length = NULL,
weights = NULL,
show = "all", # Character vector, indicating which information (columns)
# that describe the data should be returned.
out = "browser",
encoding = "UTF-8",
file ="results/mRNA_expr_summary.doc") # Para guardar la tabla en cualquier | var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 590 | 0 | 2.30 | 2.62 | 0.11 | 3.06 | 2.63 | 10.97 (-4.86-6.11) | 3.17 | -1.03 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 590 | 0 | -0.06 | 1.29 | 0.05 | 0.10 | 0.02 | 7.03 (-3.8-3.23) | 1.79 | -0.53 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 590 | 0 | -1.13 | 0.67 | 0.03 | -1.20 | -1.16 | 4.58 (-3.12-1.46) | 0.82 | 0.55 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 590 | 0 | 1.10 | 1.80 | 0.07 | 1.68 | 1.37 | 9.96 (-6.03-3.93) | 2.02 | -1.31 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 590 | 0 | 1.85 | 1.50 | 0.06 | 2.25 | 2.03 | 7.07 (-2.79-4.28) | 2.01 | -0.95 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 590 | 0 | 0.75 | 0.69 | 0.03 | 0.81 | 0.79 | 5.2 (-2.4-2.8) | 0.75 | -0.86 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 590 | 0 | 1.75 | 1.51 | 0.06 | 2.12 | 1.91 | 7.17 (-2.44-4.74) | 1.75 | -0.88 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 88 | 0 | -2.41 | 0.73 | 0.08 | -2.28 | -2.35 | 3.48 (-4.55–1.07) | 0.83 | -0.77 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 88 | 0 | -1.77 | 0.92 | 0.10 | -1.79 | -1.81 | 4.52 (-3.51-1.01) | 1.05 | 0.47 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 88 | 0 | -0.70 | 0.71 | 0.08 | -0.60 | -0.66 | 3.42 (-2.78-0.64) | 0.95 | -0.53 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 88 | 0 | -3.85 | 0.87 | 0.09 | -4.03 | -3.93 | 5.06 (-5.53–0.46) | 0.83 | 1.21 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 88 | 0 | -0.08 | 1.13 | 0.12 | -0.17 | -0.11 | 5.04 (-2.22-2.82) | 1.86 | 0.21 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 88 | 0 | 0.72 | 0.55 | 0.06 | 0.81 | 0.75 | 2.65 (-0.57-2.09) | 0.74 | -0.54 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 88 | 0 | -1.18 | 0.80 | 0.08 | -1.07 | -1.13 | 3.7 (-3.32-0.39) | 1.04 | -0.58 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 16 | 0 | -2.37 | 0.93 | 0.23 | -2.11 | -2.30 | 3.33 (-4.55–1.23) | 0.68 | -1.23 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 16 | 0 | -2.41 | 0.89 | 0.22 | -2.63 | -2.51 | 3.7 (-3.51-0.19) | 0.69 | 1.80 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 16 | 0 | -1.29 | 0.71 | 0.18 | -1.17 | -1.26 | 2.48 (-2.78–0.3) | 0.87 | -0.59 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 16 | 0 | -3.71 | 1 | 0.25 | -4.02 | -3.90 | 3.91 (-4.37–0.46) | 0.47 | 2.71 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 16 | 0 | -0.33 | 1.10 | 0.28 | -0.45 | -0.36 | 4.21 (-2.22-2) | 1.35 | 0.17 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 16 | 0 | 0.73 | 0.51 | 0.13 | 0.75 | 0.77 | 1.76 (-0.39-1.37) | 0.49 | -0.99 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 16 | 0 | -2.20 | 0.87 | 0.22 | -2.32 | -2.30 | 3.7 (-3.32-0.39) | 0.96 | 1.76 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 154 | 0 | -2.99 | 1.05 | 0.08 | -3.06 | -3.07 | 5.62 (-5.2-0.42) | 1.04 | 0.79 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 154 | 0 | -0.98 | 1.07 | 0.09 | -1.04 | -1 | 5.2 (-3.45-1.75) | 1.42 | 0.17 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 154 | 0 | -0.54 | 0.68 | 0.05 | -0.58 | -0.56 | 4.61 (-2.61-2) | 0.84 | 0.34 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 154 | 0 | -3.76 | 0.91 | 0.07 | -3.93 | -3.87 | 6.26 (-5.06-1.2) | 1.03 | 1.84 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 154 | 0 | 0.56 | 1.15 | 0.09 | 0.65 | 0.57 | 5.05 (-1.81-3.24) | 1.82 | -0.04 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 154 | 0 | 0.25 | 0.66 | 0.05 | 0.30 | 0.29 | 3.41 (-1.94-1.47) | 0.88 | -0.68 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 154 | 0 | -0.29 | 0.82 | 0.07 | -0.42 | -0.33 | 4.49 (-2.29-2.19) | 0.98 | 0.50 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 561 | 0 | 1.49 | 1.20 | 0.05 | 1.62 | 1.62 | 9.37 (-5.03-4.33) | 1.21 | -1.79 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 561 | 0 | -1.44 | 1.33 | 0.06 | -1.64 | -1.52 | 6.56 (-4.06-2.49) | 2.02 | 0.48 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 561 | 0 | -0.99 | 0.62 | 0.03 | -1.02 | -1 | 4.17 (-2.7-1.48) | 0.76 | 0.16 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 561 | 0 | -4.23 | 0.73 | 0.03 | -4.25 | -4.24 | 7.36 (-5.96-1.4) | 0.88 | 1.04 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 561 | 0 | 2.27 | 1.03 | 0.04 | 2.47 | 2.36 | 7.89 (-3.32-4.56) | 1.13 | -1.14 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 561 | 0 | 0.57 | 0.77 | 0.03 | 0.65 | 0.63 | 5.48 (-2.75-2.73) | 0.97 | -0.86 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 561 | 0 | -0.87 | 0.92 | 0.04 | -0.83 | -0.88 | 5.1 (-3.19-1.91) | 1.32 | 0.09 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 54 | 0 | 2.17 | 1.93 | 0.26 | 2.77 | 2.41 | 7.86 (-3.12-4.74) | 2.24 | -1.17 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 54 | 0 | -2.14 | 0.95 | 0.13 | -2.27 | -2.23 | 4.41 (-3.52-0.89) | 1.20 | 1.07 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 54 | 0 | -0.60 | 0.43 | 0.06 | -0.66 | -0.61 | 1.85 (-1.57-0.28) | 0.65 | 0.11 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 54 | 0 | -4.12 | 1.03 | 0.14 | -4.20 | -4.26 | 5.98 (-5.54-0.44) | 0.86 | 2.10 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 54 | 0 | 1.91 | 1.16 | 0.16 | 1.94 | 1.98 | 5.32 (-1.06-4.26) | 1.30 | -0.47 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 54 | 0 | 0.08 | 0.91 | 0.12 | 0.24 | 0.11 | 4.12 (-2.34-1.78) | 1.36 | -0.40 |
| var | type | label | n | NA.prc | mean | sd | se | md | trimmed | range | iqr | skew |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| expresion_level | numeric | expresion_level | 54 | 0 | -0.33 | 1.07 | 0.14 | -0.20 | -0.29 | 4.45 (-2.85-1.6) | 1.42 | -0.43 |
# formato, en este caso .doc
Como se puede observar el documento precargado anteriormente, se generaron las tablas descriptivas para cada gen, deacuerdo al tipo de cancer. En cuanto al carcinoma invasivo de mama (BRCA), se puede visualizar que en el mismo, el gen que se expresa mayormente es GATA3. Por otra parte, en el cancer Cohorte pan-riñón (KICH+KIRC+KIRP), tambien conocido por sus siglas (KIPAN), este presenta un mayor nivel de expresión para el gen PTEN, demostrando una media de 0.72. Igualmente, en el caso del cancer KIRP (Carcinoma renal de células papilares renales), en este usualmente, se expresa con mayor frecuencia el mismo gen ya mencionado.
Por otra parte, para el gen LUSC (Carcinoma de células escamosas de pulmón), este posee un nivel de expresión mayor, cuando se habla del gen MUC1, ya que el mismo presenta una media de 0.56. Mismo caso ocurren en el cancer (OV), donde su media es de 2.27.
Finalmente, para el cancer UCEC (Carcinoma de endometrio del cuerpo uterino), el gen que se expresa con mayor frecuencia es ESR1
Para esta pregunta tiene que utilizar la data
df_long.
tcga_boxplots para
visualizar boxplots y jitterplots. El único parámetro de la función es
dataset. La función debe crear un boxplot de los niveles de
expresión para cada gen.# Escriba el código para crear la función tcga_boxplots
# Para este ejercicio se emplea la siguiente librería
library(ggplot2)##
## Attaching package: 'ggplot2'
## The following object is masked from 'package:sjlabelled':
##
## as_label
#Se crea la funcion de resolucion
tcga_boxplots <- function(data){
gen_box <- df_long %>% filter (dataset == data) %>% #filtrado de la data
ggplot(aes(x = gen, y = expresion_level, color = gen)) + #Grafica de los puntos
geom_boxplot( color='black') + geom_jitter(color='coral2')#Boxplot y jitters
}lapply() genera
la lista cancertype_boxplots con las gráficas para cada
tipo de cancer (cada tipo de dataset).# Escriba el código para generar la lista.
# Para tomar cada dato del dataset previamente se debe hacer elementos únicos
# del data.frame
unicos1 <- unique(df_long$dataset)
# Lista de unicos
print("Los tipos de cancer son:")## [1] "Los tipos de cancer son:"
unicos1## [1] BRCA OV LUSC KIPAN KIRP UCEC
## Levels: BRCA KIPAN KIRP LUSC OV UCEC
# Una vez se genera la lista de unicos se hace un lapply llamando a la funcion
# anterior, conla que se espera graficar los boxplots
cancertype_boxplots <- lapply(unicos1, tcga_boxplots)
cancertype_boxplots## [[1]]
##
## [[2]]
##
## [[3]]
##
## [[4]]
##
## [[5]]
##
## [[6]]
cancertype_boxplots[[3]]result el
tercer plot de la lista cancertype_boxplots con el nombre
boxplot3.png. La definición de a figura debe ser de
300dpi.# Escriba el código para guardar la tercera figura de la lista.
ggsave("results/boxplot3.png", # Nombre del archivo a guardar
plot = cancertype_boxplots[[3]], # Selecciona la gráfica
device = NULL,
path = NULL,
scale = 1, # Se selecciona la escala
width = NA, # Ancho
height = NA, # Largo
dpi = 300, # Se selecciona la definicion de la figura
limitsize = TRUE, # Limites
bg = NULL)## Saving 7 x 5 in image
reg_gen_expression,
con el parámetro gen. En este caso la función visualizará
una gráfica de nube de puntos (geom_point) y una regresión por tipo de
“dataset”. La gráfica será de comparación de gen1 con gen2; por ejemplo
en el eje “x” GATA3 y en el eje “y”” FN1.# Escriba aquí su función reg_gen_expression
#El resultado previo se lo inicializa, para hacer genes únicos
# de un tipo de cancer
genes_cancer <- cancertype_boxplots[[3]]
#Función reg_gen_expression
reg_gen_expression <- function(genes_cancer){
# Se selecciona los dos genes a comparar
comparacion_gen_1 = genes_cancer[1]
comparacion_gen_2 = genes_cancer[2]
# Se filtran, nuevamente, los datos del data.frame
# para obtener genes y compararlos despues
# Se filtra la data convertida con ayuda de %>%
filtro_comparacion_gen_1 <- df_long %>% filter (gen == comparacion_gen_1)
filtro_comparacion_gen_2 <- df_long %>% filter (gen == comparacion_gen_2)
#Se guarda el filtro en un data.frame para graficarlos
filtro_comparacion_gen_Total <- cbind(filtro_comparacion_gen_1,
filtro_comparacion_gen_2)
#Tible modifica las datas y mejora el grafico
filtro_comparacion_gen_Total_tibble <- tibble(
"dataset" = filtro_comparacion_gen_Total[,1],
"gen1" = filtro_comparacion_gen_Total[,3],
"gen2" = filtro_comparacion_gen_Total[,6])
#Finalemente, se une todo y graficae grafica
gen_box_reg <- filtro_comparacion_gen_Total_tibble %>%
ggplot(aes(x = gen1, y = gen2, color = dataset)) +
geom_point(size = 2) +
geom_smooth(method = lm, formula = y~x, se = FALSE)
gen_box_reg
}lapply() genera
la lista reg_genplots con las gráficas para cada par de
genes posibles. Recuerde que tiene 7 tipos de genes, se debe tener todas
las combinaciones posibles por pares de genes (combinatoria sin
repetición).# Escriba el código para generar la lista.
unicos2 <- unique(df_long$gen)
#Lista de genes
print("Los genes son:")## [1] "Los genes son:"
unicos2## [1] "GATA3" "PTEN" "XBP1" "ESR1" "MUC1" "FN1" "GAPDH"
#Funcion combinacion sin repeticion
unicos2_combinacion <- combn(unicos2,m = 2,simplify = FALSE)
#Las combinaciones sin repetir
print (paste("El número de combinaciones sin repetir es: ", length(unicos2_combinacion)))## [1] "El número de combinaciones sin repetir es: 21"
reg_genplots <- lapply(unicos2_combinacion,reg_gen_expression)
#Todos las regresiones
reg_genplots## [[1]]
##
## [[2]]
##
## [[3]]
##
## [[4]]
##
## [[5]]
##
## [[6]]
##
## [[7]]
##
## [[8]]
##
## [[9]]
##
## [[10]]
##
## [[11]]
##
## [[12]]
##
## [[13]]
##
## [[14]]
##
## [[15]]
##
## [[16]]
##
## [[17]]
##
## [[18]]
##
## [[19]]
##
## [[20]]
##
## [[21]]
#Solo la regresión onceva
reg_genplots[[11]]result el
onceavo plot de la lista reg_genplots con el nombre
regresion11.pdf. La definición de a figura debe ser de
300dpi.# Escriba el código para guardar el onceavo plot.
ggsave("results/regresion11.pdf",
plot = reg_genplots[[11]],
device = NULL,
path = NULL,
scale = 1,
width = NA,
height = NA,
dpi = 300,
limitsize = TRUE,
bg = NULL)## Saving 7 x 5 in image
boxplot3.png y regresion11.pdf.**INTERPRETACION DE BOXPLOT 3:**
Cada uno de estos boxplots muestran una línea gruesa central, la cual representa la media. Lo que pudo a su vez, tambien visualizarse en la tabla creada previamente. Como se verifica el gen que presenta mayor expresión es MUC1. Cuya caja de bigotes muestra asimetría positiva, ya que la línea de la media se encuenra cerca de la parte superior de la gráfica. Por otra parte cada punto que se encuentran sobre y alrededor de las cajas representan cada una de las observaciones. Por lo que, esto nos ayuda a comprender de mejor manera los datos dados.
**INTERPRETACION DE LA GRÁFICA DE REGRECION 3:**
Como se observa en la gŕafica, el gen1, presenta expresiones similares en relación al gen dos. Además ambos se expresan en su mayoría en el cancer LUSC.